package reg.localization;

import reg.data.ILocalizacionesDAO;
import reg.data.JDBCLocalizacionesDAO;

public class DBPosition implements IGetPosition {
	
	private static ILocalizacionesDAO localizaciones = new JDBCLocalizacionesDAO();
	
	//devuelve la posicion de una ciudad dada su nombre (o su CP)
	public Position getPosicion (String city)
	{
		//TODO: Comprueba si existe en la Base de datos la ciudad "city" DAO 
		Position posicionCiudad = localizaciones.getLocalizacion(city);
		//si existe lo devuelve
		if(posicionCiudad != null && !(posicionCiudad.latitude == 0 && posicionCiudad.longitude == 0))
		{
			return posicionCiudad;
		}
		//si no, hace la peticion a yahoo, la guarda en la BD y la devuelve
		else
		{
			posicionCiudad = new YahooPosition().getPosicion(city);
			localizaciones.insertLocalizacion(city, posicionCiudad.longitude, posicionCiudad.latitude);
			return posicionCiudad;			
		}
	}
}
